package pl.jtb.ctl.tabory.dao.api.services;

import java.util.List;
import java.util.Map;

import pl.jtb.ctl.tabory.dao.data.vo.CompositionVO;
import pl.jtb.ctl.tabory.dao.data.vo.VagonVO;

public interface ICompositionService {

    public List<CompositionVO> getListAllCompositions() throws Exception;

    public CompositionVO getComposition(String internalId) throws Exception;

    public CompositionVO getComposition(Long id) throws Exception;

    public CompositionVO saveUpdateComposition(CompositionVO composition) throws Exception;

    public void deleteComposition(CompositionVO composition) throws Exception;

    public Map<CompositionVO, List<VagonVO>> saveUpdateCompositionVagonRelation(Map<CompositionVO, List<VagonVO>> relation) throws Exception;

    public Map<CompositionVO, List<VagonVO>> getCompositionVagonRelation(CompositionVO composition) throws Exception;

    public void deleteCompositionValues(CompositionVO composition) throws Exception;

}
